﻿using Magicodes.ExporterAndImporter.Core;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.MaterialMasterData.Dto
{
    public class LCZXCPGJOutput
    {
        /// <summary>
        ///  流程编号
        /// </summary>
        [ExporterHeader("流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader("申请人")]
        public string AddUserName { get; set; }

        /// <summary>
        /// 创建日期
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? CreateTime { get; set; }

        [ExporterHeader("创建日期")]
        public string CreateTimeStr { get; set; }

        /// <summary>
        /// 流程状态
        /// </summary>
        [ExporterHeader("流程状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 查看链接地址
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }

        /// <summary>
        /// 课程编号
        /// </summary>
        [ExporterHeader("课程编号")]
        public string CourseCode { get; set; }

        /// <summary>
        /// 课程编号
        /// </summary>
        [ExporterHeader("课程名称")]
        public string CourseName { get; set; }

        /// <summary>
        /// 价格变更原因
        /// </summary>
        [ExporterHeader("价格变更原因")]
        public string ChangeReason { get; set; }

        /// <summary>
        /// 价格变更有效期
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        [ExporterHeader("价格变更有效期")]
        public DateTime? ValidStartTime { get; set; }

        [ExporterHeader("价格变更有效期开始日期")]
        public string ValidStartTimeStr { get; set; }

        /// <summary>
        /// 价格变更有效期
        /// </summary>        
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? ValidEndTime { get; set; }

        [ExporterHeader("价格变更有效期结束日期")]
        public string ValidEndTimeStr { get; set; }

        /// <summary>
        /// 价格
        /// </summary>
        [ExporterHeader("价格")]
        public decimal? Price { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        [ExporterHeader("单位")]
        public string Unit { get; set; }

        /// <summary>
        /// 预估人数
        /// </summary>
        [ExporterHeader("预估人数")]
        public decimal? PeopleCount { get; set; }

        /// <summary>
        /// 预估总销售额
        /// </summary>
        [ExporterHeader("预估总销售额")]
        public decimal? TotalPrice { get; set; }

        /// <summary>
        /// 预估场次
        /// </summary>
        [ExporterHeader("预估场次")]
        public decimal? ClassCount { get; set; }

        /// <summary>
        /// 预估项目总成本
        /// </summary>
        [ExporterHeader("预估项目总成本")]
        public decimal? TotalCost { get; set; }

        /// <summary>
        /// 收益预估(元)
        /// </summary>
        [ExporterHeader("收益预估(元)")]
        public decimal? Profit { get; set; }

        /// <summary>
        /// RMCC%
        /// </summary>
        [ExporterHeader("RMCC%")]
        public decimal? RMCC { get; set; }

        /// <summary>
        /// 变更前价格
        /// </summary>
        [ExporterHeader("变更前价格")]
        public decimal? BeforePrice { get; set; }

        /// <summary>
        /// 变更前单位
        /// </summary>
        [ExporterHeader("变更前单位")]
        public string BeforeUnit { get; set; }

        /// <summary>
        /// 变更前预估总销售额
        /// </summary>
        [ExporterHeader("变更前预估总销售额")]
        public decimal? BeforeTotalPrice { get; set; }

        /// <summary>
        /// 变更前预估项目总成本
        /// </summary>
        [ExporterHeader("变更前预估项目总成本")]
        public decimal? BeforeTotalCost { get; set; }

        /// <summary>
        /// 变更前收益预估(元)
        /// </summary>
        [ExporterHeader("变更前收益预估(元)")]
        public decimal? BeforeProfit { get; set; }

        /// <summary>
        /// 变更前RMCC%
        /// </summary>
        [ExporterHeader("变更前RMCC%")]
        public decimal? BeforeRMCC { get; set; }

        /// <summary>
        /// 变更前有效期
        /// </summary>     
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? BeforeStartDate { get; set; }

        [ExporterHeader("变更前有效期开始日期")]
        public string BeforeStartDateStr { get; set; }

        /// <summary>
        /// 变更前有效期
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? BeforeEndDate { get; set; }

        [ExporterHeader("变更前有效期结束日期")]
        public string BeforeEndDateStr { get; set; }

        /// <summary>
        /// SAP物料编号，保存从同步SAP后得到的物料编号
        /// </summary>
        //[ExporterHeader("SAP物料编号")]
        //public string MaterialCode { get; set; }

        /// <summary>
        /// 同步SAP时间
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public DateTime? AsyncTime { get; set; }

        [ExporterHeader("同步时间")]
        public string AsyncTimeStr { get; set; }

        /// <summary>
        /// 是否同步成功 0 否 1 是
        /// </summary>        
        [IEIgnore(IsExportIgnore = true)]
        public int IsSyncSuccess { get; set; }

        [ExporterHeader("是否同步成功")]
        public string SyncSuccess { get; set; }

        /// <summary>
        /// 同步SAP返回的描述
        /// </summary>
        [ExporterHeader("同步结果")]
        public string SyncResult { get; set; }
    }
}
